// console.log(a);
// var a = 123
// console.log(b);
// let b = 456

var arr = [4,1,5,7]

function sort (arr)  {
    for(var i = 0; i < arr.length-1; i++){
        for(var j = 0 ; j < arr.length - i;j++ ){
            if(arr[j] > arr[j+1]){
                [arr[j] , arr[j+1]] = [arr[j+1], arr[j]]
            }
        }
    }
    return arr
}
console.log(sort(arr)); 



// 手写深拷贝
const deepCopy = obj => {
    // 先拷贝的对象是数组还是对象
    const newObj = obj.constructor === Array ? [] : {}
    // 遍历属性
    for(let key in obj){
        // hasOwnProperty会返回布尔值, 判断对象是否存在该属性
        if(obj.hasOwnProperty(key)){
            // 判断是否还有数组或对象
            if(obj[key] && typeof obj[key] === 'object'){
                // 递归
                newObj[key] = deepCopy(obj[key])
            }else{
                // 普通类型
                newObj[key] = obj[key]
            }
        }
    }
    return newObj
}
let obj1 = {
    a:1,
    b:'b',
    c:[1,4,7],
    d:{
        dd:'深拷贝',
        ee:111
    }
}
let obj2 = deepCopy(obj1)
obj2.a = 2

console.log(obj1.a ,obj2.a);

